package com.ruoyi.system.service;

import com.ruoyi.system.domain.dto.TopicDto;
import com.ruoyi.system.domain.vo.TopicVo;

import java.util.List;

public interface TopicService {

    void add(TopicDto.Insert dto);

    void delete(TopicDto.Delete dto);

    List<TopicVo.Result> query(TopicDto.Query dto);

    TopicVo.TopEntryConditionsResult queryEntryConditionsResult(TopicDto.TopEntryConditionsQuery dto);

    void deleteEntryConditionsResult(TopicDto.TopEntryConditionsDelete dto);

    void addEntryConditionsResult(TopicDto.TopEntryConditionsInsert dto);

    void addResearchPath(TopicDto.TopResearchPathAdd dto);

    void deladdResearchPath(TopicDto.TopResearchPathDelete dto);

    List<TopicVo.TopResearchPathResult> queryResearchPath(TopicDto.TopResearchPathQuery dto);

    /**
     * 查询课题详情患者数据
     *
     * @param topicId 课题ID
     * @param status  入组状态(0：未入组  1：已入组)
     * @return
     */
    List<TopicVo.Detail> queryDetailByTopic(Long topicId, Byte status, Integer pageNum, Integer pageSize);

    void addGroup(TopicDto.GroupInsert dto);

    void delGroup(TopicDto.GroupDelete dto);

}
